ISOÂ 8859
ISO 8859 – rodzina 8‑bitowych zestawów znaków opracowana przez Międzynarodową Organizację Normalizacyjną (ISO) w latach 80. XX wieku. Standard definiuje jednobajtowe kodowanie znaków, w którym pierwszy bajt (0‑127) pokrywa się z kodem ASCII, a druga połowa (128‑255) zawiera znaki specyficzne dla poszczególnych języków i regionów.
Historia
Wcześniej komputerowy świat korzystał z wielu niezgodnych ze sobą kodowań jednopłytkowych (np. IBM 850, Windows‑1252). W 1985 r. ISO rozpoczęło pracę nad ujednoliconym zestawem, aby ułatwić wymianę danych między różnymi systemami operacyjnymi i platformami. Pierwsza część serii, ISO‑8859‑1 (znana również jako Latin‑1), została opublikowana w 1987 r., a kolejne części pojawiały się w latach 1990‑1999.
Struktura serii ISO 8859
Seria składa się z kilkunastu odrębnych części, z których każda przeznaczona jest dla innego zakresu językowego. Wszystkie części zachowują następującą wspólną strukturę:
- kody 0‑127 – identyczne z ASCII;
- kody 128‑159 – zarezerwowane (w niektórych implementacjach wykorzystywane jako znaki kontrolne);
- kody 160‑255 – znaki graficzne specyficzne dla danej części.
Najważniejsze części
| Partia | Oznaczenie | Języki/Regiony | Data publikacji | Uwagi |
|---|---|---|---|---|
| ISO‑8859‑1 | Latin‑1 | języki zachodnioeuropejskie (angielski, francuski, niemiecki, hiszpański, portugalski, włoski) | 1987 | najbardziej rozpowszechniona część; podstawa dla Windows‑1252 |
| ISO‑8859‑2 | Latin‑2 | języki środkowoeuropejskie (polski, czeski, słowacki, węgierski, słoweński) | 1993 | stosowana w systemach Linux/UNIX w Europie Wschodniej |
| ISO‑8859‑3 | Latin‑3 | języki południowoeuropejskie (maltański, turecki, kataloński) | 1993 | rzadko używana |
| ISO‑8859‑4 | Latin‑4 | języki bałtyckie (estoński, litewski, łotewski) | 1993 | zastąpiona przez ISO‑8859‑10 |
| ISO‑8859‑5 | Cyrillic | języki używające cyrylicy (rosyjski, bułgarski, serbski) | 1999 | alternatywa dla KOI8‑R |
| ISO‑8859‑6 | Arabic | język arabski | 1999 | brak znaków diakrytycznych dla niektórych dialektów |
| ISO‑8859‑7 | Greek | język grecki | 1999 | zastąpiona przez Unicode w większości nowoczesnych aplikacji |
| ISO‑8859‑8 | Hebrew | język hebrajski | 1999 | zawiera wersję „visual” i „logical” |
| ISO‑8859‑9 | Latin‑5 | języki tureckie | 1999 | uzupełnia ISO‑8859‑1 o brakujące znaki tureckie |
| ISO‑8859‑10 | Latin‑6 | języki bałtyckie (alternatywa dla ISO‑8859‑4) | 1998 | używana w niektórych systemach skandynawskich |
| ISO‑8859‑11 | Thai | język tajski | 2001 | kompatybilny z kodowaniem TIS‑620 |
| ISO‑8859‑13 | Latin‑7 | języki bałtyckie i nordyckie (litewski, łotewski, estoński, fiński, islandzki) | 1998 | popularny w krajach bałtyckich |
| ISO‑8859‑14 | Latin‑8 | języki celtyckie (irlandzki, walijski, bretoński) | 1998 | rzadko stosowany |
| ISO‑8859‑15 | Latin‑9 | rozszerzenie Latin‑1 o znak € oraz brakujące litery francuskie | 1999 | często używany w aplikacjach wymagających symbolu euro |
| ISO‑8859‑16 | Latin‑10 | języki rumuńskie i albańskie | 2001 | najbardziej aktualna wersja serii Latin |
Zastosowanie i ograniczenia
ISO 8859 był przez wiele lat podstawowym kodowaniem w systemach operacyjnych Windows (szczególnie w wersjach Windows 95 i późniejszych) oraz w środowiskach Unix i Linux. Dzięki prostocie (każdy znak mieści się w jednym bajcie) był on łatwy w implementacji oraz w transmisji danych w sieciach o ograniczonej przepustowości.
Jednak głównym problemem serii jest brak wspólnego zestawu znaków dla wszystkich języków świata. W miarę rozwoju globalnych aplikacji, konieczność obsługi wielu różnych systemów kodowania stała się barierą. Standard Unicode, w wersji UTF‑8, oferuje jednolitą mapę wszystkich znaków i stopniowo wyparł ISO 8859 z nowych projektów.
PowiÄ…zania z innymi standardami
- ASCII – podzbiór pierwszych 128 kodów ISO 8859.
- Unicode – uniwersalny standard kodowania; większość znaków ISO 8859 ma identyczne punkty kodowe w Unicode (U+00A0…U+00FF).
- UTF‑8 – zmienna długość kodowania Unicode, zachowująca kompatybilność z ASCII i umożliwiająca zastąpienie ISO 8859 bez zmiany danych.
- Windows‑1250, Windows‑1252 – kodowania podobne do odpowiednich części ISO 8859, ale zawierające dodatkowe znaki przeznaczone dla systemu Windows.
Współczesny status
Choć w nowych projektach preferuje się Unicode, ISO 8859 pozostaje istotnym elementem dziedzictwa informatycznego. Wiele starszych baz danych, dokumentów tekstowych oraz protokołów (np. SMTP w trybie 7‑bitowym) nadal opiera się na tym zestawie. Praktyka zaleca migrację do Unicode, lecz znajomość ISO 8859 jest niezbędna przy konserwacji historycznych systemów.